home *** CD-ROM | disk | FTP | other *** search
/ Mac Cube 4: Multimedia Applications / MacCube Volume 4: Multimedia Applications.iso / Graphics / POV Ray / POVSOURCE / SOURCE / MediaHandlers.h < prev    next >
Text File  |  1993-11-30  |  6KB  |  163 lines

  1. /************************************************************
  2.  
  3. Created: Tuesday, October 13, 1992
  4.  MediaHandlers.h
  5.  C Interface to the Macintosh Libraries
  6.  
  7.  
  8.  Copyright Apple Computer, Inc. 1992
  9.  All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13. #ifndef __MEDIAHANDLERS__
  14. #define __MEDIAHANDLERS__
  15.  
  16. #include <Movies.h>
  17.  
  18. enum {
  19.     handlerHasSpatial = 1<<0,
  20.     handlerCanClip = 1<<1,
  21.     handlerCanMatte = 1<<2,
  22.     handlerCanTransferMode = 1<<3,
  23.     handlerNeedsBuffer = 1<<4,
  24.     handlerNoIdle = 1<<5,
  25.     handlerNoScheduler = 1<<6,
  26.     handlerWantsTime = 1<<7,
  27.     handlerCGrafPortOnly = 1<<8
  28. };
  29.  
  30. enum {
  31.     mMustDraw = 1<<3,
  32.     mAtEnd = 1<<4,
  33.     mPreflightDraw = 1<<5
  34. };
  35.     
  36. enum {
  37.     mDidDraw = 1<<0,
  38.     mNeedsToDraw = 1<<2
  39. };
  40.  
  41. typedef struct {
  42.     short version;
  43.     Movie theMovie;
  44.     Track theTrack;
  45.     Media theMedia;
  46.     TimeScale movieScale;
  47.     TimeScale mediaScale;
  48.     TimeValue movieDuration;
  49.     TimeValue trackDuration;
  50.     TimeValue mediaDuration;
  51.     Fixed effectiveRate;
  52.     TimeBase timeBase;
  53.     short volume;
  54.     Fixed width;
  55.     Fixed height;
  56.     MatrixRecord trackMovieMatrix;
  57.     CGrafPtr moviePort;
  58.     GDHandle movieGD;
  59.     PixMapHandle trackMatte;
  60. } GetMovieCompleteParams;
  61.  
  62. enum {
  63.     kMediaInitializeSelect = 0x501,
  64.     kMediaSetHandlerCapabilitiesSelect = 0x502,
  65.     kMediaIdleSelect = 0x503,
  66.     kMediaGetMediaInfoSelect = 0x504,
  67.     kMediaPutMediaInfoSelect = 0x505,
  68.     kMediaSetActiveSelect = 0x506,
  69.     kMediaSetRateSelect = 0x507,
  70.     kMediaGGetStatusSelect = 0x508,
  71.     kMediaTrackEditedSelect = 0x509,
  72.     kMediaSetMediaTimeScaleSelect = 0x50A,
  73.     kMediaSetMovieTimeScaleSelect = 0x50B,
  74.     kMediaSetGWorldSelect = 0x50C,
  75.     kMediaSetDimensionsSelect = 0x50D,
  76.     kMediaSetClipSelect = 0x50E,
  77.     kMediaSetMatrixSelect = 0x50F,
  78.     kMediaGetTrackOpaqueSelect = 0x510,
  79.     kMediaSetGraphicsModeSelect = 0x511,
  80.     kMediaGetGraphicsModeSelect = 0x512,
  81.     kMediaGSetVolumeSelect = 0x513,
  82.     kMediaSetSoundBalanceSelect = 0x514,
  83.     kMediaGetSoundBalanceSelect = 0x515,
  84.     kMediaGetNextBoundsChangeSelect = 0x516,
  85.     kMediaGetSrcRgnSelect = 0x517,
  86.     kMediaPrerollSelect = 0x518,
  87.     kMediaSampleDescriptionChangedSelect = 0x519,
  88.     kMediaHasCharacteristicSelect = 0x51A,
  89.     kMediaGetOffscreenBufferSizeSelect = 0x51B,
  90.     kMediaSetHintsSelect = 0x51C,
  91.     kMediaGetNameSelect = 0x51D
  92. };
  93.  
  94. #ifdef __cplusplus
  95. extern "C" {
  96. #endif __cplusplus
  97.  
  98. pascal ComponentResult MediaInitialize (ComponentInstance ci, GetMovieCompleteParams *gmc) 
  99.     = {0x2F3C,0x4,0x501,0x7000,0xA82A};
  100. pascal ComponentResult MediaSetHandlerCapabilities (ComponentInstance ci, long flags, long flagsMask ) 
  101.     = {0x2F3C,0x8,0x502,0x7000,0xA82A};
  102. pascal ComponentResult MediaIdle (ComponentInstance ci, TimeValue atMediaTime, long flagsIn, long *flagsOut, const TimeRecord *movieTime) 
  103.     = {0x2F3C,0x10,0x503,0x7000,0xA82A};
  104. pascal ComponentResult MediaGetMediaInfo (ComponentInstance ci, Handle h ) 
  105.     = {0x2F3C,0x4,0x504,0x7000,0xA82A};
  106. pascal ComponentResult MediaPutMediaInfo (ComponentInstance ci, Handle h ) 
  107.     = {0x2F3C,0x4,0x505,0x7000,0xA82A};
  108. pascal ComponentResult MediaSetActive (ComponentInstance ci, Boolean enableMedia ) 
  109.     = {0x2F3C,0x2,0x506,0x7000,0xA82A};
  110. pascal ComponentResult MediaSetRate (ComponentInstance ci, Fixed rate ) 
  111.     = {0x2F3C,0x4,0x507,0x7000,0xA82A};
  112. pascal ComponentResult MediaGGetStatus (ComponentInstance ci, ComponentResult *statusErr ) 
  113.     = {0x2F3C,0x4,0x508,0x7000,0xA82A};
  114. pascal ComponentResult MediaTrackEdited (ComponentInstance ci ) 
  115.     = {0x2F3C,0x0,0x509,0x7000,0xA82A};
  116. pascal ComponentResult MediaSetMediaTimeScale (ComponentInstance ci, TimeScale newTimeScale ) 
  117.     = {0x2F3C,0x4,0x50A,0x7000,0xA82A};
  118. pascal ComponentResult MediaSetMovieTimeScale (ComponentInstance ci, TimeScale newTimeScale ) 
  119.     = {0x2F3C,0x4,0x50B,0x7000,0xA82A};
  120. pascal ComponentResult MediaSetGWorld (ComponentInstance ci, CGrafPtr aPort, GDHandle aGD) 
  121.     = {0x2F3C,0x8,0x50C,0x7000,0xA82A};
  122. pascal ComponentResult MediaSetDimensions (ComponentInstance ci, Fixed width, Fixed height) 
  123.     = {0x2F3C,0x8,0x50D,0x7000,0xA82A};
  124. pascal ComponentResult MediaSetClip (ComponentInstance ci, RgnHandle theClip) 
  125.     = {0x2F3C,0x4,0x50E,0x7000,0xA82A};
  126. pascal ComponentResult MediaSetMatrix (ComponentInstance ci, MatrixRecord *trackMovieMatrix) 
  127.     = {0x2F3C,0x4,0x50F,0x7000,0xA82A};
  128. pascal ComponentResult MediaGetTrackOpaque (ComponentInstance ci, Boolean *trackIsOpaque ) 
  129.     = {0x2F3C,0x4,0x510,0x7000,0xA82A};
  130. pascal ComponentResult MediaSetGraphicsMode (ComponentInstance ci, long mode, RGBColor *opColor ) 
  131.     = {0x2F3C,0x8,0x511,0x7000,0xA82A};
  132. pascal ComponentResult MediaGetGraphicsMode (ComponentInstance ci, long *mode, RGBColor *opColor ) 
  133.     = {0x2F3C,0x8,0x512,0x7000,0xA82A};
  134. pascal ComponentResult MediaGSetVolume (ComponentInstance ci, short volume ) 
  135.     = {0x2F3C,0x2,0x513,0x7000,0xA82A};
  136. pascal ComponentResult MediaSetSoundBalance (ComponentInstance ci, short balance) 
  137.     = {0x2F3C,0x2,0x514,0x7000,0xA82A};
  138. pascal ComponentResult MediaGetSoundBalance (ComponentInstance ci, short *balance ) 
  139.     = {0x2F3C,0x4,0x515,0x7000,0xA82A};
  140. pascal ComponentResult MediaGetNextBoundsChange (ComponentInstance ci, TimeValue *when ) 
  141.     = {0x2F3C,0x4,0x516,0x7000,0xA82A};
  142. pascal ComponentResult MediaGetSrcRgn (ComponentInstance ci, RgnHandle rgn, TimeValue atMediaTime ) 
  143.     = {0x2F3C,0x8,0x517,0x7000,0xA82A};
  144. pascal ComponentResult MediaPreroll (ComponentInstance ci, TimeValue time, Fixed rate ) 
  145.     = {0x2F3C,0x8,0x518,0x7000,0xA82A};
  146. pascal ComponentResult MediaSampleDescriptionChanged (ComponentInstance ci, long index )
  147.     = {0x2F3C,0x4,0x519,0x7000,0xA82A};
  148. pascal ComponentResult MediaHasCharacteristic (ComponentInstance ci, OSType characteristic, Boolean *hasIt )
  149.     = {0x2F3C,0x8,0x51A,0x7000,0xA82A};
  150. pascal ComponentResult MediaGetOffscreenBufferSize (ComponentInstance ci, Rect *bounds, short depth, CTabHandle ctab )
  151.     = {0x2F3C,0xA,0x51B,0x7000,0xA82A};
  152. pascal ComponentResult MediaSetHints (ComponentInstance ci, long hints )
  153.     = {0x2F3C,0x4,0x51C,0x7000,0xA82A};
  154. pascal ComponentResult MediaGetName (ComponentInstance ci, Str255 name, long requestedLanguage, long *actualLanguage )
  155.     = {0x2F3C,0xC,0x51D,0x7000,0xA82A};
  156.  
  157.  
  158. #ifdef __cplusplus
  159. }
  160. #endif __cplusplus
  161.  
  162. #endif __MEDIAHANDLERS__
  163.